//窗口布局管理
function NW05_dhk(fq) {
    this.fq = fq;//nw
    this.nw = fq.fq;

    this.hc = [];//缓存。

    this.wz_dhk = 'zzj';
    this.g_dhk = '180px ';
    this.k_dhk = '350px ';
    this.ys_dhk = 'rgb(255, 244, 244)' //锁定层颜色-无

    //标题
    this.g_dhk_bt = '35px';//默认高
    this.ys_dhk_bt = 'rgb(227, 189, 245)'//默认背景颜色
    //内容
    this.ys_dhk_nr = 'rgb(243, 217, 255)';
    //脚部
    this.g_dhk_jb = '35px';
    this.ys_dhk_jb = 'rgb(220, 159, 248)'
}

/**
 * @param {真假} fq  
 * @param {真假} geli  
 * @param {真假} zdh 最大化。 假=非最大化（默认）；真=最大化
 * @param {真假} zdc 遮挡层。 假=与内容层同尺寸；  真=与父同尺寸
 * @param {文本} wz  定位。 
 * @param {数字|文本} dhkG 对话框 高    
 * @param {数字|文本} dhkK 对话框 宽
 * @param {数字|文本} btG  标题 高
 * @param {数字|文本} jbG  脚部 高
 * @param {文本} btNR 标题内容
 * @param {文本} stNR 身体内容
 * @param {文本} dizhi 地址
 * @param {文本} fwfs 请示方式（默认post)
 * @param {文本} jbNR 脚部内容
 * @param {文本} ys_zdc      遮挡层背景颜色
 * @param {文本} ys_bt   标题层背景颜色
 * @param {文本} ys_nr   身体层背景颜色
 * @param {文本} ys_jb   脚部层背景颜色
 * @param {真假} ycGBan  隐藏关闭按钮。     假=不隐藏；真=隐藏
 * @param {真假} ycZDHan 隐藏最大化按钮。   假=不隐藏；真=隐藏
 * @returns 
 */
NW05_dhk.prototype.cj = function (fq, geli, zdh, zdc, wz, dhkG, dhkK, btG, jbG, btNR, stNR, dizhi, fwfs, jbNR, ys_zdc, ys_bt, ys_nr, ys_jb, ycGBan, ycZDHan, ycBT, ycJB) {
    if (!wz) {
        wz = this.wz_dhk;
    }
    dhkG = this._gshGK(dhkG, this.g_dhk);//锁定层的高（如果非窗口最大化时）,内容层的高
    dhkK = this._gshGK(dhkK, this.k_dhk);//锁定层的宽（如果非窗口最大化时）,内容层的宽
    if (fq && !fq.Jiedian) {
        fq = this.nw.cj2(fq);
    }
    let fqRQ = fq ? fq : this.nw.st;
    let gt = new NW05_dhk_gt(this.nw, this.hc, fqRQ, zdc, zdh, dhkG, dhkK);
    if (fqRQ != this.nw.st) {
        gt.zdcDW = 'xddw'
    }
    gt.wz = wz;
    gt.geli = geli;
    gt.dizhi = dizhi;
    gt.zdc_ys = ys_zdc ? ys_zdc : this.ys_dhk;//遮挡层颜色
    gt.bt_g = this._gshGK(btG, this.g_dhk_bt);//标题高
    gt.bt_ys = ys_bt ? ys_bt : this.ys_dhk_bt;//标题背景颜色
    gt.nr_ys = ys_nr ? ys_nr : this.ys_dhk_nr;//内容背景颜色
    gt.jb_g = this._gshGK(jbG, this.g_dhk_jb);//脚部高
    gt.jb_ys = ys_jb ? ys_jb : this.ys_dhk_bt;//脚部背景颜色

    gt._cjZDC();
    gt._cjNRC();
    gt._cjNRC_tb(btNR);
    gt._cjNRC_st(stNR);
    gt._cjNRC_jb(jbNR);
    gt._cjNRC_gbAN(ycGBan)
    gt._cjNRC_zdhAN(ycZDHan);
    gt.jiazaiNR(null, fwfs);

    if (ycBT) {
        gt.xsBT();
    }
    if (ycJB) {
        gt.xsJB();
    }
    this.zcSJ(gt)

    gt._gx();
    return gt;
}

/**
 * 如果值为数字，自动附加px单位；
 * 如果值为假值，自动附上【默认值】
 * 
 * @param {文本|数字} zhi 值
 * @param {未知} mrZhi 默认值
 */
NW05_dhk.prototype._gshGK = function (zhi, mrZhi) {
    if (!zhi) {
        return mrZhi
    } else if (typeof zhi == 'number') {
        return zhi + 'px'
    } else {
        return zhi
    }
}


// ======================↓↓↓=========================
// 创建单击事件
NW05_dhk.prototype.zcSJ = function (hcDX) {
    if (hcDX.gbAN) {
        hcDX.gbAN.jt.sb_dj(NW05_dhk_fz_danji_gb) //绑定一个单击事件
    }
    if (hcDX.zdhAN) {
        hcDX.zdhAN.jt.sb_dj(NW05_dhk_fz_danji_zdh) //绑定一个单击事件
    }
    if (hcDX.gbAN || hcDX.zdhAN) {
        this.hc.push(hcDX);//缓存对话框
    }
}

function NW05_dhk_fz_danji_gb() {// 单击事件-关闭窗口
    nw.ck.dhk._ngj_scHC(this);
}
function NW05_dhk_fz_danji_zdh() {// 单击事件-最大化窗口|还原窗口
    nw.ck.dhk._ngj_zdh(this);
}

// 删除缓存（事件池）
NW05_dhk.prototype._ngj_zdh = function (anJD) {
    for (let i = 0; i < this.hc.length; i++) {
        if (this.hc[i].pdAN_zdh(anJD)) {
            this.hc[i].zdh()
            return;
        }
    }
}

// 删除缓存（事件池）
NW05_dhk.prototype._ngj_scHC = function (anJD) {
    for (let i = 0; i < this.hc.length; i++) {
        if (this.hc[i].pdAN_gb(anJD)) {
            this.hc[i].sc();
            return;
        }
    }
}
// ======================↑↑↑=========================